class Config:
    HOST = "localhost"  # 服务地址
    PORT = 5000  # 服务端口
    APP_NAME = "Mini_Game"  # 项目名称
    DEBUG = False  # 是否开启调试模式
    # Sanic-ext 配置
    OAS_UI_DEFAULT = "swagger"  # 默认使用swagger


class DevelopmentConfig(Config):
    NAME = 'dev'  # 配置名称
    DEBUG = True  # 是否开启调试模式
    LOG_LEVEL = "DEBUG"  # 日志级别

    # 数据库配置
    DATABASE_URL = 'mysql://root:sotryfilmplatform2025@!@39.106.49.21:3306/mini_game'


class ProductionConfig(Config):
    NAME = 'prod'  # 配置名称
    LOG_LEVEL = "INFO"  # 日志级别

    # 数据库配置
    DATABASE_URL = 'mysql://root:sotryfilmplatform2025@!@39.106.49.21:3306/mini_game'


# 配置映射字典
config_map = {
    'dev': DevelopmentConfig,
    'prod': ProductionConfig,
    'default': DevelopmentConfig
}


# 获取配置
def get_config(config_name: str):
    return config_map.get(config_name.lower())
